/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controle.usuario;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import persistencia.objetos.Usuarios;

/**
 *
 * @author Milton
 */
public class Sessao {
    
    private HttpSession sessao;
    private final int tempoInativo = 300;
    /**
     * Construtor
     * @param request 
     */
    public Sessao(HttpServletRequest request){
       sessao = request.getSession(true);       
    }
    /**
     * Obtem-se a sessão
     * @return the sessao
     */
    public HttpSession getSessao() {
        return sessao;
    }
    /**
     * Registra uma sessão
     * @param user 
     */
    public void registraSessao(Usuarios user){
        getSessao().setAttribute("id_usuario", user.getIdUsuario());
        getSessao().setAttribute("nome", user.getNome());
        getSessao().setAttribute("email", user.getEmail());
        getSessao().setMaxInactiveInterval(tempoInativo);
    }
    /**
     * Destroi uma sessão
     */
    public void finalizaSessao(){
        getSessao().removeAttribute("nome");
        getSessao().removeAttribute("email");
        getSessao().invalidate();
    }
    /**
     * Valida sessao
     * @return - (true) se a sessao é válida,caso contrário (false) 
     */
    public boolean validaSessao(){
        
        if(this.getSessao().getAttribute("email")!= null){
            return true;
        }else{
            return false;
        }      
    }
}
